logo
PDF Print E-mail

 

Jan Vitek

Jan Vitek

Associate Professor of Computer Science
Purdue University

Programming Models for Concurrency and Real-time

Modern real-time systems are increasingly large, complex and concurrent programs which must meet stringent performance and predictability requirements. Programming those systems require fundamental advances in programming languages and runtime systems. This talk presents our work on Flexotasks, a programming model for concurrent, real-time systems inspired by stream-processing and concurrent active objects. Some of the key innovations in Flexotasks are that it support both real-time garbage collection and region-based memory with an ownership type system for static safety. Communication between tasks is performed by channels with a linear type discipline to avoid copy of messages, and by a non-blocking transactional memory facility. We have evaluated our model empirically within two distinct implementations, one based on Purdue's Ovm research virtual machine framework and the other on Websphere, IBM's production real-time virtual machine. We have written a number of small programs, as well as a 30 KLOC avion cs collision detector application. We show that Flexotasks are capable of executing periodic threads at 10 KHz with a standard deviation of 1.2us and have performance competitive with hand coded C programs.

Homepage of Prof. Jan Vitek

Shriram Krishnamurthi

Shriram Krishnamurthi

Associate Professor of Computer Science
Brown University

A Programming Language for the New Web

Explicitly or implicitly, programming languages mirror domains. The best languages weave the concerns of a domain through a compatible computational model to o er programmers the best of both worlds. This statement naturally raises the question: What is the appropriate programming language for Web applications in the Ajax style? Our answer, Flapjax, is layered atop JavaScript. Flapjax demonstrates that the Web has a natural abstraction: event-driven reactivity. After explaining this we will  build on it to examine connections to Web services, data binding, and access-control security. I will also cover some highlights of our work in this area on implementation techniques, principles for interfacing to legacy components, program transformations to improve performance, applications, and more. More information at: http://www.flapjax-lang.org.

Homepage of Prof. Shriam Krishnamurthi

 

Last Updated ( Thursday, 31 July 2008 22:34 )